// pages/mine/personalInformation/authenticationData/authenticationData.js
var loclcache = require('../../../../utils/cache.js')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    isChooseImg: false,
    dataComplete: false, // 数据是否完整
    name: '',     //姓名
    identity: '', //身份
    hospital: '',   //所在医院
    technicalTitle: '',     //职称
    IDnumber: '',
    url: '',
    imgId:'',
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.data.hospital = loclcache.default.get('hospitalobj') ? loclcache.default.get('hospitalobj') : this.data.hospital
    this.setData({
      hospital: this.data.hospital
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
  
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
  
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
  
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
  
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
  
  },
  /**
   * 选择医院
   */
  chooseHospital: function () {
    // this.setData({
    //   hospital: '北京大学深圳医院'
    // })
    wx.navigateTo({
      url: './locationHospital/locationHospital',
      success: function(res) {},
      fail: function(res) {},
      complete: function(res) {},
    })
  },
  /**
   * 选择身份、职称
   */
  actionSheet: function (event) {
    let self = this
    let arr = []
    if (event.currentTarget.dataset.type === 'identity') {
      arr = ['医生', '医学生']
    }
    if (event.currentTarget.dataset.type === 'technicalTitle') {
      arr = ['主任医师', '副主任医师', '主治医师', '住院医师', '医师']
    }
    wx.showActionSheet({
      itemList: arr,
      itemColor: '#4825BF',
      success: function (res) {
        if (event.currentTarget.dataset.type === 'identity') {
          self.setData({
            identity: arr[res.tapIndex]
          })
        }
        if (event.currentTarget.dataset.type === 'technicalTitle') {
          self.setData({
            technicalTitle: arr[res.tapIndex]
          })
        }
        self.checkData()
      },
      fail: function (res) { },
      complete: function (res) { },
    })
  },
  /**
   * 数据完整性检查
   */
  checkData: function () {
    let error = null
    if (!this.data.name) {
      error = '请输入姓名'
      return error
    }
    if (!this.data.identity) {
      error = '请选择身份'
      return error
    }
    if (!this.data.hospital) {
      error = '请选择所在医院'
      return error
    }
    if (!this.data.technicalTitle) {
      error = '请选择职称'
      return error
    }
    if (!this.data.IDnumber) {
      error = '请输入身份证号'
      return error
    }
    if (!this.data.url) {
      error = '请添加身份证明'
      return error
    }
    if (!error) {
      this.setData({
        dataComplete: true
      })
    } else {
      this.setData({
        dataComplete: false
      })
    }
    return error
  },
  /**
   * 点击确定
   */
  commitClick: function (event) {
    console.log('event```commit', event)
    let self = this
    let error = this.checkData()
    console.log('commitClick', error)
    console.log('commitClick```formData', self.data)
    if (error) {
      wx.showToast({
        title: error,
        icon: '',
        image: '../../../../resource/icon/notice@2x.png',
        mask: true,
        success: function(res) {},
        fail: function(res) {},
        complete: function(res) {},
      })
      return
    }
    var tempFilePaths = self.data.url
    self.data.identity = self.data.identity=='医生'?'0':'2'
    var params = {
      'name': self.data.name,
      'type': self.data.identity,
      'unit': self.data.hospital.name,
      'title': self.data.technicalTitle,
      'id_card': self.data.IDnumber,
      'address': JSON.stringify(self.data.hospital),
      'cer': self.data.imgId
    }
    console.log('提交认证数据',params)
    wx.showLoading({
      title:'正在加载...',
      mask:true
    })
    /*
     * TODO 修改上传相关的方式路径.............................................
     */
    wx.request({
      url: wx.envConfig.host + '/user/updateInfo?params=' + JSON.stringify(params)+'&cookiez=' + wx.getStorageSync("cookiez"),
      method: 'POST',
      formData: {
        'name': self.data.name,
        'type': self.data.identity,
        'unit': self.data.hospital.name,
        'title': self.data.technicalTitle,
        'id_card': self.data.IDnumber,
        'address': self.data.hospital,
        'cer': self.data.imgId
      },
      success: function (res) {
        console.log(res)
        // var data = JSON.parse(res.data)
        //do something
        // console.log('uploadFile', data)
        wx.hideLoading()
        if (data.error_code == 'Y10000'){
          wx.showToast({
            title: '提交成功',
            icon: 'success',
            mask: true
          })
          wx.navigateBack({
            delta:1
          })
        }else{
          wx.showToast({
            title: '认证失败',
            image: '../../../../resource/icon/notice@2x.png',
            mask: true
          })
        }
      },
      fail:function(res){
        wx.showToast({
          title: '服务异常',
          image: '../../../../resource/icon/notice@2x.png',
          mask: true
        })
      }
    })
  },
  /**
   * 点击上传图片区域
   */
  chooseImg: function () {
    let self = this
    let arr = ['照相', '从相册选择照片']
    wx.showActionSheet({
      itemList: arr,
      itemColor: '#4825BF',
      success: function (res) {
        self.getImage(res.tapIndex)
      },
      fail: function (res) { },
      complete: function (res) { },
    })
  },
  /**
   * 拍照 / 选择相册照片
   */
  getImage: function (tapIndex) {
    let self = this
    let arr = []
    if (tapIndex === 0) {
      arr.push('camera')
    }
    if (tapIndex === 1) {
      arr.push('album')
    }
    wx.chooseImage({
      count: 1, // 默认9
      sizeType: ['original'], // 可以指定是原图(original)还是压缩图(compressed)，默认二者都有
      sourceType: arr, // 可以指定来源是相册还是相机，默认二者都有
      success: function (res) {
        // 返回选定照片的本地文件路径列表，tempFilePath可以作为img标签的src属性显示图片
        console.log('本地上传图片',res)
        self.setData({
          url: res.tempFilePaths[res.tempFilePaths.length-1],
          isChooseImg: true
        })
        var params = {}
        /*
         * TODO 修改上传相关的方式路径.............................................
         */
        wx.uploadFile({
          url: wx.envConfig.filePath + 'file/uploadFile',
          filePath: res.tempFilePaths[res.tempFilePaths.length - 1],
          name: 'file',
          formData: {
              fileTemp: JSON.stringify({belongTo:"1"}),
              metadata: JSON.stringify([
                  {name:"author",value:getApp().appUserInfo.userName},   //当前登录人的用户名(不是昵称)
                  {name:"where",value:"miniProgram"},     //来自哪个端，端名自己定
                  {name:"type",value:"img"},          //自己大概估一个类型
                  {name:"remark",value:"身份证明"}  //文件的业务逻辑(干嘛用的，大概的就行)
              ])
          },
          success:  (res) => {
            console.log('res', res);
            try {
                res.data = JSON.parse(res.data)
            } catch (e) {

            }
            getApp().fileBinding(res.data.datas).then(ress => {
              self.checkData()
              self.data.imgId = ress.data.datas.id
            })
          }
        })
      }
    })
  },
  /**
   * 姓名输入框
   */
  nameInput: function (event) {
    this.data.name = event.detail.value
    this.checkData()
  },
  /**
   * 身份证输入框
   */
  IDnumberInput: function (event) {
    this.data.IDnumber = event.detail.value
    this.checkData()
  },
  //清除姓名
  cleaeName:function(){
    console.log('dfdsfdsfsdfds')
    this.setData({
      name: ''
    })
    this.checkData()
  },
  //清除身份证
  cleaeId:function(){
    this.setData({
      IDnumber: ''
    })
    this.checkData()
  }
})